package com.yotoodesign.dianba.bean;

import java.util.List;

import org.json.JSONException;
import org.json.JSONObject;

import com.yotoodesign.dianba.util.WeiboUtil;
/**
 * 微博数据对象
 * @author zhuchuanming
 *
 */
public class MicroBlogStatus implements IMicroBlog {
	/**
	 * 当该条微博作为对其他微博的转发时，该属性指向其转发的微博对象
	 */ 
	public MicroBlogStatus repost;
	
	/**
	 * 字符串型的微博ID
	 */ 
	public String idstr;
	
	/**
	 * 微博的创建时间
	 */ 
	public String createdAt;
	/**
	 * 微博的ID
	 */ 
	public String id;
	/**
	 * 微博的内容
	 */ 
	public String text;
	/**
	 * 微博的来源
	 */ 
	public String source;
	/**
	 * 标识该条微博是否被收藏
	 */ 
	public boolean isFavorited;
	/**
	 * 标识该条微博是否被截断
	 */ 
	public boolean isTruncated;
	
	/**
	 * 回复ID
	 */ 
	public String inReplyToStatusID;
	
	/**
	 * 回复人UID
	 */ 
	public String inReplyToUserID;
	/**
	 * 回复人昵称
	 */ 
	public String inReplyToScreenName;
	
	/**
	 * 微博MID
	 */ 
	public String mid;
	
	/**
	 * 微博附带图片的缩略版本的URL
	 */ 
	public String thumbPicUrl;
	/**
	 * 微博附带图片的中等尺寸版本的URL
	 */ 
	public String bmiddlePicUrl;
	/**
	 * 微博附带图片的原始尺寸版本的URL
	 */ 
	public String originalPicUrl;
	
	/**
	 * 转发数
	 */
	public int repostsCount;
	
	/**
	 * 评论数
	 */
	public int commentsCount;
	
	/**
	 * 微博附加注释信息
	 */
	public List annotations;
	
	/**
	 * 地理信息字段
	 */
	public Object geo;
	
	/**
	 * 发出该条微博的用户对象
	 */ 
	public MicroBlogUser user;

	@Override
	public void setId(String value) {
		this.id = value;
	}

	@Override
	public String getId() {
		return id;
	}

	@Override
	public void setText(String value) {
		this.text = value;
	}

	@Override
	public String getText() {
		return text;
	}
	
	public MicroBlogStatus(){};
	
	public MicroBlogStatus(JSONObject status) throws JSONException{
		/* 得到创建的时间 */
		this.createdAt = WeiboUtil.calcTime(status.getString("created_at"));
		
		/* 得到微博的ID */
		id = status.has("idstr")?status.getString("idstr"):status.getString("id");

		/* 得到微博的的内容 */
		this.text = status.getString("text");

		/* 判断微博内容中是否有图片 */
		if (status.has("thumbnail_pic")) {
			this.thumbPicUrl = status.getString("thumbnail_pic");
			this.originalPicUrl = status.getString("original_pic");
		}
		//微博来源
		this.source = status.getString("source");
		//转发数
		this.repostsCount = new Integer(status.getString("reposts_count")).intValue();
		//设置评论数
		this.commentsCount = new Integer(status.getString("comments_count")).intValue(); 
		//用户信息
		String userJson = status.getString("user");
		JSONObject userObject = new JSONObject(userJson);
		this.user = new MicroBlogUser(userObject);
	}
}
